/**
 * ProductFee 业务逻辑
 * @author yanwl
 * @date 2014-09-03
 */
package com.chnbst.bstyun.service;

import java.util.List;
import java.util.Map;

import com.chnbst.bstyun.model.pojo.ProductFee;
import com.chnbst.bstyun.model.vo.ProductFeeVo;

public interface ProductFeeService {
	/**
	 * 删除产品计费
	 * @param productFeeId 产品计费编号
	 * @return 删除成功返回true，否则返回false
	 */
	boolean deleteProductFee(Integer productFeeId);

	/**
	 * 添加产品计费
	 * @param productFee 产品计费对象
	 * @return 返回自动增量id对象
	 */
	boolean insertProductFee(ProductFee productFee);
	
	/**
	 * 更新产品计费
	 * @param productFee 产品计费对象
	 * @return 布尔值 成功为true，失败为false
	 */
	boolean updateProductFee(ProductFee productFee);

	/**
	 * 根据产品计费编号查找产品计费
	 * @param productFeeId 产品计费编号
	 * @return 如果找到返回该产品计费，否则返回空 null
	 */
    ProductFee selectProductFeeByProductFeeId(Integer productFeeId);
    
    /**
     * 根据产品编号查找产品计费
     * @param productId 产品计费编号
     * @return 如果找到返回该产品计费，否则返回空 null
     */
    ProductFee selectProductFeeByProductId(Integer productId);

    /**
     * 查询所有产品计费信息
     * @return 返回所有产品计费信息
     */
    List<ProductFee> selectProductFees(Map<String, Object> map);
    
    /**
     * 查询产品计费Vo信息
     * @return 返回产品计费Vo信息
     */
    ProductFeeVo selectProductFeeVoByProductId(Integer productId);
}
